/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package combinaciones;

import datos.CoordinadorDB;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import datos.EntidadDB;

/**
 *
 * @author Vivi
 */
public abstract class Entidad implements IEntidadObservador{
   String id;
   String tipo;
   String telefono;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    
   
    @Override
    public void recibir_info() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String recibir_alarma() {
        return "";
    }

    @Override
    public void generar_reportes_incidente() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void actualizar() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
   
     public int grabar() throws SQLException {
         EntidadDB entidadDB = new EntidadDB();
       entidadDB.grabar(this);
       return 0;
    }
     
   
        public Entidad buscar() throws SQLException {
            Entidad aux;
       EntidadDB entidadDB= new EntidadDB();
       aux = entidadDB.buscar(this.id);
       if(aux!=null){
           setId(aux.getId());
           setTelefono(aux.getTelefono());
           setTipo(aux.getTipo());
           return aux;
       }else{
           return null;
       }
    }
        
    public abstract String aceptar(IVisitor visitor);
}